home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / biblio / bibtex / utils / bibclean / osvaxvms.h < prev    next >
C/C++ Source or Header  |  1992-10-06  |  4KB  |  142 lines

  1. /* -*-C-*- osvaxvms.h */
  2. /*-->osvaxvms*/
  3. /**********************************************************************/
  4. /******************************* osvaxvms *****************************/
  5. /**********************************************************************/
  6.  
  7. #ifndef OSVAXVMS_H_DEFINED_
  8. #define OSVAXVMS_H_DEFINED_
  9.  
  10. /* $Id: osvaxvms.h,v 1.4 1992/10/08 01:42:01 beebe Exp beebe $
  11.  * $Log: osvaxvms.h,v $
  12.  * Revision 1.4  1992/10/08  01:42:01  beebe
  13.  * Update for C++.
  14.  *
  15.  * Revision 1.3  1992/03/10  14:13:53  beebe
  16.  * *** empty log message ***
  17.  *
  18.  * Revision 1.2  1992/02/29  19:42:20  beebe
  19.  * Update for version 3.0.114 [29-Feb-1992] following two-month
  20.  * major overhaul and compilation testing on numerous machines.
  21.  *
  22.  * Revision 1.2  1992/02/29  19:42:20  beebe
  23.  * Update for version 3.0.114 [29-Feb-1992] following two-month
  24.  * major overhaul and compilation testing on numerous machines.
  25.  *
  26.  * Revision 1.1  1992/02/29  19:13:22  beebe
  27.  * Initial revision
  28.  *
  29.  * Revision 1.1  1992/02/29  19:13:22  beebe
  30.  * Initial revision
  31.  *
  32.  */
  33.  
  34. /***********************************************************************
  35. ** Several standard UNIX library functions do not work properly with VMS
  36. ** C, or are not implemented:
  37. **
  38. **    exit()        -- wrong conventions for return code
  39. **    fseek()        -- fails on record-oriented files
  40. **    ftell()        -- fails on record-oriented files
  41. **    getchar()    -- waits for <CR> to be typed
  42. **    getenv()    -- colon- and case-sensitive
  43. **    tell()        -- not implemented
  44. **    ungetc()    -- fails for any character with high-order bit set
  45. **    unlink()    -- not implemented (equivalent available)
  46. **
  47. ** The  file  VAXVMS.C  contains   workarounds;  it  must  be   compiled
  48. ** separately and loaded with each of the DVI drivers.
  49. ***********************************************************************/
  50.  
  51. #include <jpidef.h>            /* need for getjpi() in openfont() */
  52.  
  53. #define DVIHELP        "help dvi\nor\ntype tex_inputs:dvi.hlp"
  54.  
  55. #ifndef ENV_SYSPATH            /* can override at compile time */
  56. #define ENV_SYSPATH    "SYS$SYSTEM"
  57. #endif /* ENV_SYSPATH */
  58.  
  59. #ifdef ERRSUFFIX
  60. #undef ERRSUFFIX
  61. #endif /* ERRSUFFIX */
  62.  
  63. #define ERRSUFFIX    "err;-1"    /* to force new generation */
  64.  
  65. #define FILE_CNT(fp)    (*fp)->_cnt
  66. #define FILE_BASE(fp)    (*fp)->_base
  67. #define FILE_PTR(fp)    (*fp)->_ptr
  68.  
  69. #ifndef FONTFMT                /* can be set at compile time */
  70. #define FONTFMT "%n.%dpk;[%d]%n.pk;%n.%dgf;[%d]%n.gf;%n.%mpxl;[%m]%n.pxl;\
  71. %n.vf;%n.tfm"
  72. #endif /* FONTFMT */
  73.  
  74. #define FSEEK        vms_fseek
  75.  
  76. #ifndef FSMAPFILE            /* can be set at compile time */
  77. #define FSMAPFILE    "texfiles.map"
  78. #endif /* FSMAPFILE */
  79.  
  80. #define FTELL        vms_ftell
  81. #define GETENV        vms_getenv
  82. #define HOST_WORD_SIZE    32    /* must be 32 or larger -- used in */
  83.                 /* signex to pack 8-bit bytes back */
  84.                 /* into integer values, and in dispchar */
  85.                 /* and fillrect for managing character */
  86.                 /* raster storage. */
  87.  
  88. #ifndef PSMAPFILE            /* can be set at compile time */
  89. #define PSMAPFILE    "psfonts.map"
  90. #endif /* PSMAPFILE */
  91.  
  92. #ifndef PS_MAXWIDTH
  93. #define PS_MAXWIDTH    72
  94. #endif /* PS_MAXWIDTH */
  95.  
  96. #ifndef PS_SHORTLINES
  97. #define PS_SHORTLINES    1        /* VMS has trouble with long lines */
  98. #endif /* PS_SHORTLINES */
  99.  
  100. #define READ        vms_read    /* ordinary read() returns only one */
  101.                     /* disk block at each call */
  102.  
  103. #ifdef REWIND
  104. #undef REWIND
  105. #endif /* REWIND */
  106.  
  107. #define REWIND(fp)    (void)rewind(fp)/* must NOT get vms_fseek version */
  108.  
  109. #define SEP_COMP " ;,|"    /* separators between filename components */
  110. #define SEP_PATH ":]"    /* separators between directory path and filename */
  111.             /* first char is what we default to */
  112.  
  113. #ifndef SUBEXT                /* can be set at compile time */
  114. #define SUBEXT        ".sub"
  115. #endif /* SUBEXT */
  116.  
  117. #ifndef SUBNAME                /* can be set at compile time */
  118. #define SUBNAME        "texfonts"
  119. #endif /* SUBNAME */
  120.  
  121. #ifndef TEXFONTS            /* can be set at compile time */
  122. #define TEXFONTS    ENV_TEXFONTS
  123. #endif /* TEXFONTS */
  124.  
  125. #ifndef TEXINPUTS            /* can be set at compile time */
  126. #define TEXINPUTS    ENV_TEXINPUTS
  127. #endif /* TEXINPUTS */
  128.  
  129. #ifndef TFMFMT                /* can be set at compile time */
  130. #define TFMFMT        "%n.tfm"
  131. #endif /* TFMFMT */
  132.  
  133. #define UNGETC        vms_ungetc
  134.  
  135. /* CACHE_FONTS cannot be implemented  yet.  The code  works, but the
  136. calls to FSEEK() (vms_seek) result in _filbuf() being called to refill
  137. the buffer, obviating the pre-buffering.  Additional code in case 0 of
  138. vms_seek() can probably be developed to avoid this, but I have run out
  139. of time for now. */
  140.  
  141. #endif /* OSVAXVMS_H_DEFINED_ */
  142.